package org.lc.cmd;

import org.lc.cmd.model.SysReqData;

import java.util.concurrent.Future;

/**
 * 作为发送方，创建的请求
 *
 * @param <T>
 */
public interface SentSysReq<T> extends CmdSysReq {
    /**
     * 发送请求
     *
     * @return 响应，无响应为Future<Void>
     */
    default Future<T> send() {
        return getSession().sendSysReq(this);
    }

    SysReqData toTransferData();
}
